package com.ciei.dpagm.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;

import java.util.Arrays;

/**
 * 权限类型
 *
 * @author kiho
 * @date 2022/11/17
 */
public enum RightTypeEnum {

    /**
     * 菜单
     */
    MENU(1),

    /**
     * 按钮/权限
     */
    PERMISSION(2),
    ;

    @EnumValue
    private Integer typeId;

    RightTypeEnum(Integer typeId) {
        this.typeId = typeId;
    }

    public Integer getTypeId() {
        return typeId;
    }

    /**
     * 判断数据库值是否相等
     * @param value 数据库值
     * @return true: 说明相等
     */
    public boolean equalsValue(Integer value) {
        return this.getTypeId().equals(value);
    }

    public static RightTypeEnum getEnumByValue(Integer typeId) {
        return Arrays.stream(values())
                .filter(rightTypeEnum -> rightTypeEnum.equalsValue(typeId))
                .findFirst()
                .orElse(null);
    }
}
